package com.hgl.bi.common.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @program: BI
 * @description: Cross-Origin Resource Sharing 跨域资源共享。
 * @author: hgl
 * @create: 2024-12-30 16:00
 */
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") //允许所有路径
                .allowCredentials(true) // 是否允许带上 Cookie凭证
                // 放行哪些域名（必须用 allowedOriginPatterns，否则 * 会和 allowCredentials 冲突）
                .allowedOriginPatterns("*") //允许的源 .allowedOrigins("http://example.com")
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") //允许的请求方法 OPTIONS: 预检请求
                .allowedHeaders("*") //允许的请求头
                .exposedHeaders("*");
    }

}
